#pragma once

#include "fxcc/core/graph/common/pch.h"

namespace fxcc::graph::common
{
    struct FXCC_API SDFGeoData
    {
        struct Header
        {
            int m_NumIndices;
            int m_NumPageIndexes;
            int m_NumVertices;
            int m_NumTexCoords;
        };
        std::vector<glm::vec2> vertices;
        std::vector<unsigned int> pageIndices;
        std::vector<glm::vec2> texCoords;

        std::vector<unsigned int> indices32;

        void Add(const SDFGeoData& other)
        {
            vertices.insert(vertices.end(), other.vertices.begin(), other.vertices.end());
            texCoords.insert(texCoords.end(), other.texCoords.begin(), other.texCoords.end());
            pageIndices.insert(pageIndices.end(), other.pageIndices.begin(), other.pageIndices.end());

            indices32.insert(indices32.end(), other.indices32.begin(), other.indices32.end());
        }
        void Clear()
        {
            vertices = {};
            pageIndices = {};
            texCoords = {};
            indices32 = {};
        }

    };
};